package com.jishuo.nontax.bfc.dao;

import com.jishuo.nontax.bean.bank.IllegalactivityScaleDetail;
import com.jishuo.nontax.bean.vo.CheckDataVO;
import com.jishuo.nontax.bean.vo.NumAmtVO;
import com.jishuo.nontax.bean.vo.PayScaleBillVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

/**
 * @auther dinggaofei
 * @Date 2023/2/3 9:23
 */
@Mapper
public interface PayScaleBillMapper {

    /**
     * 查询交管二八分成缴费信息
     * @param billnum 票据号
     * @return
     */
    public PayScaleBillVO findIllScaleInfo(String billnum);

    /**
     * 查询交管二八分成银行,行政区划,分成缴费金额
     * @param billnum 票据号
     * @return
     */
    ArrayList<IllegalactivityScaleDetail> findIllScaleDetail(String billnum);

    /**
     * 根据单据,和单据编号查询 违章付款信息
     * @param billnum 单据号
     * @param billno 单据编码
     * @return
     */
    PayScaleBillVO findIllScaleSend(@Param("billnum") String billnum, @Param("billno") Integer billno);

    /**
     * 更新交管二八分成部分信息
     * @param payScaleBillVO  交管二八分成
     * @return
     */
     int updateIllSacleBankAffirm(PayScaleBillVO payScaleBillVO);

    /**
     * 更新交管二八分成缴款单据信息
     * @param payScaleBillVO 交管二八分成
     * @return
     */
     int updateIllSacle(PayScaleBillVO payScaleBillVO);

    /**
     * 添加交管二八分成缴款单据信息
     * @param payScaleBillVO 交管二八分成
     * @return
     */
     int  insertIllSacle(PayScaleBillVO payScaleBillVO);

    /**
     * 根据票据号和单据编码统计交管二八分成个数
     * @param billno 单据编码
     * @param billnum 单据号
     * @return
     */
     int findCountBybillnoAndBillnum(@Param("billno") int billno ,@Param("billnum") String billnum);

    NumAmtVO selectScaleBillNumAmt(@Param("bankid")String bankid, @Param("paybankdt")String paybankdt);

    int deletePayscalebillfiance(@Param("bankid")String bankid, @Param("paybankdt")String paybankdt,@Param("bankaffirm")String bankaffirm);

    int savePayscalebillfiance(CheckDataVO checkDataVO);

    // 页面展示
    /**
     * 交管二八分成列表
     * @param payScaleBillVO
     * @return
     */
    List<PayScaleBillVO> findPayScalPage(PayScaleBillVO payScaleBillVO);

    /**
     * 修改交管二八分成银行信息
     * @param
     * @return
     */
    int saveIllAgeScale(PayScaleBillVO payScaleBillVO);

    PayScaleBillVO getPayScale(Long payscalebillid);


    int updateIsBankAffirm(Long payid);


    int  updateIllSacleHxBankaffirm(PayScaleBillVO payScaleBillVO);

    /**
     * 根据id集合查询票据信息
     * @param billids
     * @return
     */
    List<PayScaleBillVO> findPayScal(List<String> billids);
}
